//////////////////////////////////////////////////////////////////////////

#ifndef _TIMER_H_
#define _TIMER_H_

//////////////////////////////////////////////////////////////////////////

#include <QTime>

/** Timer
*
*  @author   Roman Pasechnik
*  @author   Anastasia Karpinska
*  @since    Jun 04th, 2009
*  @updated  Oct 14th, 2009
*/
class Timer
{
//////////////////////////////////////////////////////////////////////////

public:

//////////////////////////////////////////////////////////////////////////


    /** Destructor */
    virtual ~Timer();


//////////////////////////////////////////////////////////////////////////


    /** Start timer */
    void Start();


    /** Pause timer */
    void Pause();


    /** Reset timer */
    void Reset();


    /** Get time from start in milliseconds */
    size_t Milliseconds() const;


//////////////////////////////////////////////////////////////////////////

private:

//////////////////////////////////////////////////////////////////////////


    /** Time of last timer start/reset */
    QTime m_Begin;


//////////////////////////////////////////////////////////////////////////
};


//////////////////////////////////////////////////////////////////////////

#endif

//////////////////////////////////////////////////////////////////////////

